Trac is being migrated to new services! Issues can be found in our new YouTrack instance and WIKI pages can be found on our website.

Version 26 (modified by John Bailey, 17 years ago) (diff)

--

Using Pidgin

All Platforms

How do I use AIM, MSN, Yahoo!, Jabber/XMPP, ICQ, or any other protocol?

Use the Account Editor (Accounts->Add/Edit?) to add the account of the appropriate messaging service. Use the checkbox in the account editor to enable the current account.

How do I set a buddy icon or avatar?

We call all user pictures, avatars, etc. buddy icons. There are two ways to set one for yourself:

  • Global - This will affect all of your accounts. On the Buddy List window, beside the status selector at the bottom, there is an area that will have a generic photo icon if you have no icon set. You can click that and select an icon from there. The icon will take effect for all accounts you have configured in Pidgin.
  • Per-account - This will affect only the account you modify. Go to Accounts->your account->Edit Account. On that dialog, check the box labeled "Use this buddy icon for this account:", then click the leftmost button below that checkbox. Select your buddy icon.

In either case, the file must be smaller than 4KB to work on AIM and XMPP. It can have any dimensions, and can be in any format. However, if you wish Windows users to see it, it must be in a format Windows understands, such as .bmp, .gif, and .jpg. Pidgin will attempt to scale icons to fit within these constraints, but it is not always possible to do so.

How do I change the font Pidgin uses? The background color?

The font preference in Pidgin applies only for the formatting of outgoing messages on those protocols which support said formatting. The display fonts used by the rest of Pidgin are those specified by GTK+, the toolkit we use to create the user interface. To change this font, you need to edit your ~/.gtkrc-2.0 file. On Windows, this file is located at C:\Documents and Settings\username\.themes\Default\gtk-2.0\gtkrc. If that file does not exist, simply create it.

As an example, you can put this into .gtkrc-2.0 to change the font size for all GTK+ applications:

# Sets the font used by all gtk applications.
gtk-font-name = "Verdana 9"

Alternatively, you can do this to change the font size for other elements:

# This is the style section.  You need this for the examples below.
# If you are going to copy the example, copy the entire block,
# including the "{" and "}" lines.
style "imhtml-fix"
{
    font_name = "Sans 10"
}

# This will apply the font style just shown to various components.
# If you are going to copy the example, copy the line that does
# what you want.

# Conversation entry box--where you type.
widget "*pidgin_conv_entry" style "imhtml-fix"

# Conversation history pane--where you read the conversation.
widget "*pidgin_conv_imhtml" style "imhtml-fix"

# Log viewer--where you read stored logs
widget "*pidgin_log_imhtml" style "imhtml-fix"

# formatting-capable entry areas (IMHtml widgets) in request dialogs
widget "*pidgin_request_imhtml" style "imhtml-fix"

# formatting-capable notification areas in dialogs (again, IMHtml widgets)
widget "*pidgin_notify_imhtml" style "imhtml-fix"

Background colors can be changed similarly, by finding the correct widget names and setting appropriate bg elements. Other widgets in Pidgin can be controlled in a similar manner.

You could also switch GTK+ themes. Themes and information on using them can be found at http://themes.freshmeat.net, http://art.gnome.org, or by searching on your favorite search engine, such as Google.

How do I make Enter make a newline and Ctrl+Enter send?

Locate or create your gtkrc-2.0 file and insert:

binding "my-bindings"
{
    bind "Return" { "insert-at-cursor" ("\n") }
    bind "<ctrl>Return" { "message_send" () }
}
widget "*pidgin_conv_entry" binding "my-bindings"

How do I make Pidgin use emacs-like keybindings?

Locate or create your .gtkrc-2.0 file and insert the following:

gtk-key-theme-name = "Emacs"

You will need to restart Pidgin when you have finished. Note that this will affect other GTK+ applications as well.

How do I bind keystrokes to menu items?

Locate or create your gtkrc-2.0 file and insert:

gtk-can-change-accels = 1

After coercing Pidgin into rereading this file (for instance, by restarting it), you can hover over a menu item and hit the keystroke you want to bind to it, and your wish will be granted! (You might want to turn off gtk-can-change-accels again when you're done, since it's pretty easy to bind keys by mistake with it turned on.)

(If you're a Gnome user, you should set the /desktop/gnome/interface/can_change_accels key with gconf-editor instead. You don't need to restart Pidgin for this to take effect.)

How do I make Escape close conversation windows?

Locate .purple directory, and open the accels file within it. Uncomment or add the following line: (gtk_accel_path "<main>/Conversation/Close" "Escape") This must be done while Pidgin is not running.

How do I register for a new account?

This depends on the protocol.

How do I use/make smiley themes?

See the page on smileys.

How can I unblock someone?

See the "Privacy" option under the "Tools" menu in the Buddy List.

How does Pidgin decide which saved statuses to show in the status selector?

Pidgin shows six "popular" saved statuses in the status selector. These are your six most recently used statuses, offset by a weight. Pidgin sorts all your saved statuses by the timestamp when they were last used. And then, for each time you've used a status, the timestamp is increased by one day.

If you are upgrading from 1.x or lower, Pidgin is unable to determine which are the most popular states, as these older releases did not save that information. As a result, the initial contents of the menu will be somewhat random. It will settle over the first few uses of (distinct) states into the behavior described above.

Why are no states listed when I go to set a state for Auto Away?

Pidgin can only use saved states for Auto Away. You need to create and save a named state first.

Why are the status icons so big?

We believe that, by adding a second line of text to each buddy list entry, we're able to show more information about each buddy on the buddy list. The "Big List," as we call it, shows status text and idle time concisely and attractively. Most importantly, it puts the buddy icon in the list, making it far easier to locate buddies within a large list where names are harder to pick out than images. Due to the increased usability of this interface, we have made it the default.

We are aware that some people feel more comfortable using an interface more similar to IM clients they may have used in the past. The 'Big List' can be disabled by un-checking "Show buddy details" in the Buddies menu.

What happened to my timestamps? Can I change them?

As of 2.0.0, timestamps follow the system locale. This is a significant difference from previous versions of Pidgin, and though it was requested more than once, we know it will prove to be a controversial decision. Fortunately for all of you out there, we also provide plugins to change it.

The two plugins we provide are the Timestamp plugin and the Message Timestamp Formats plugin. Timestamp allows you to have iChat style timestamps, but it is implemented to behave slightly differently. The Message Timestamp Formats plugin allows you to manipulate the timestamps in a couple different ways, such as restoring 24-hour timestamps and/or causing all timestamps to have dates in them.

What is a "Buddy Pounce"?

Pidgin introduced buddy pounces a few releases before AOL came out with "Buddy Alerts." Despite this, you could think of a buddy pounce as an alert and get an idea of the most minimal use of a buddy pounce. In reality, a buddy pounce is much like a macro, or a recorded action. When you set a pounce on someone, you can choose from a number of events, such as sign on or status change, and then you choose from a number of actions. These actions include everything from playing a sound (like an alert would do) to sending a message to the person, to executing a command. This action will occur the next time pidgin detects the event, i.e. the next time the person in your buddy list who you have pounced signs on.

No, you can't. We get requests for this often, but Pidgin is indeed a messaging client. Aside from the capabilities each protocol may support, the Pidgin developers have no intention to turn Pidgin into a multi-feature Internet client capable of doing everything under the sun. We also won't be helping to develop plugins to turn it into that. There are many Internet applications available for Linux, Windows, or whatever operating system you use that would undoubtedly do a better job.

Note that LiveJournal? provides an XMPP messaging service which makes it possible to make entries to your blog via IM, no matter what XMPP-supporting IM client you use.

Windows Specific

How does Pidgin for Windows determine which language to use?

For the user who installed Pidgin, the language selected during installation will be the default. This can be overridden by setting the PIDGINLANG environment variable (for example, PIDGINLANG=de). If neither of these are specified, it will fall back to the default Windows user locale setting.

Where are my settings and data (including logs) saved?

Data is stored in your user's "Application Data" directory in a .purple subdirectory. The location of this will vary according to your setup and version of Windows.

  • For Windows 2000/XP/Vista(?), entering %APPDATA% in your Windows Explorer address bar will take you to the right directory (probably something like C:\Documents and Settings\username\Application Data).
  • For Windows 98/ME it will be something like C:\Windows\Profiles\username.

This can be overridden by setting the PURPLEHOME environment variable.
Logs are stored in a subdirectory called logs.

How do I run multiple instances of Pidgin on Windows?

Pidgin will, by default, prevent multiple instances from running simultaneously. You can override this restriction by defining the PIDGIN_MULTI_INST environment variable. If you do this, you may find the -c parameter useful to specify unique configuration directories for each instance (e.g. -c c:\home\.pidgin-alt).

How do I change the Look and Feel?

Pidgin doesn't support skinning. It does, however, support using various GTK+ themes to render the widgets. The default theme, MS-Windows, is designed to fit in with Windows. The GTK+ Runtime installer now includes a utility, accessible from the Start Menu, to change the theme.

What should I do if Pidgin Crashes?

Follow the instructions here to submit a bug report.

Why can't I connect? My firewall is configured to allow Pidgin access.

We've had a lot of problems with various firewalls, particularly Norton Internet Security (and Symantec Client Firewall). Many firewalls will not fully stop interfering with a program's ability to connect when configured to do so.
For Norton Internet Security, a workaround that seems to work is to add the following ports to the global HTTP Ports list:

  • 443 -> MSN (ssl)
  • 1863 -> MSN
  • 5050 -> Yahoo
  • 5190 -> AIM/ICQ
  • 5222 -> XMPP (including Google Talk)
  • 6667 -> IRC

The Mozilla folks maintain a good Windows Firewall information resource here.

What is a gtkrc file and where can I find it?

The windowing toolkit that Pidgin uses, GTK+, is configurable via a text file.

There is a global file found in the etc\gtk-2.0 directory your GTK+ Runtime install directory (C:\Program Files\Common Files\GTK\2.0, by default). There is also per-user file (named .gtkrc-2.0) in your user's home directory, the location of this varies according to the version of Windows you're using and the configuration.

  • For Windows 2000/XP/Vista(?), entering %USERPROFILE% in your Windows Explorer address bar will take you to the right directory (probably something like C:\Documents and Settings\username).
  • For Windows 98/ME it will be something like C:\Windows\Profiles\username.

Note that Windows Explorer will not allow you create a file that starts with a period; you'll need to use a text editor or rename the file in a cmd shell.

It is recommended that you edit your per-user file instead of the global file as the global file will be replaced when GTK+ is upgraded.

Where is my .purple directory?

It is in C:\Documents and Settings\username\Application Data Note, that things within this directory can only be edited when Pidgin is not running.

Running Windows Pidgin From a USB Drive

It is relatively easy to set up Pidgin to run from a USB Drive. Most of Pidgin is very good about not assuming that it is installed; a slightly customized launcher makes it all come together nicely.
The way that this is set up, other GTK+ applications can use the same GTK+ runtime.

  • How to setup your USB-Drive Pidgin
    • Download and Install Pidgin
    • Prepare your USB Drive: (This assumes that your USB Drive is U: for the purpose of explanation)
      • Create a directory: U:\Programs (This can be whatever you want, the idea is that GTK and Pidgin are at the same level)
      • Create GTK and Pidgin directories in this directory.
    • Copy a minimal part of your Pidgin installation to the USB Drive from the installed instance. The directory structure stays the same, but we don't need everything that is included in the standard installation.
      • Copy the whole pixmaps and sounds directories.
      • Create a U:\Programs\Pidgin\plugins directory and copy the contents of the installed Pidgin\plugins directory into it excluding perl.dll, tcl.dll.
      • If you want to use a language other than en_US, create a U:\Programs\Pidgin\locale directory and copy any language directories that you want from your installed Pidgin\locale directory.
      • Copy the contents of your root installed Pidgin directory except pidgin.exe, pidgin-uninst.exe, and if you don't want spell-checking support, libgtkspell.dll.
      • Download pidgin-portable.exe (use gaim-portable.exe for 2.0.0beta4-6 or this version for versions older than 2.0.0beta4) and put it in U:\Programs\Pidgin. The file uses the same source as the standard pidgin.exe, the difference being that when it was compiled PORTABLE was defined which causes some of the initialization to be done differently.
    • In the same spirit, create a minimal GTK+ runtime installation from your GTK+ installation.
      • Copy the bin and etc directories to your U:\Programs\GTK directory.
      • Create a U:\Programs\GTK\lib directory and copy the contents of the installed GTK+ runtime's lib directory, except the locale subdirectory.
      • If you want to use a language other than en_US, create a U:\Programs\GTK\lib\locale directory and copy any language directories that you want from your installed GTK+ runtime's lib\locale directory.
    • If you want spell-checking support, you will also need to create a minimal ASpell runtime installation from your ASpell installation.
      • Create a U:\Programs\Aspell directory with a bin subdirectory.
      • Copy aspell-15.dll into your ASpell bin directory.
      • Copy the data and dict subdirectories into U:\Programs\Aspell.

You are done! Running U:\Programs\Pidgin\pidgin-portable.exe will cause pidgin to run off the USB Drive, saving the settings, logs and etc. to U:\Programs\.purple.

Linux and Unix-like platforms

Where are Pidgin's settings and logs?

Because Pidgin is a libPurple client, it stores its settings and logs in ~/.purple.

How do I get sound to work correctly?

Pidgin uses gstreamer to play sounds. Playing sounds directly through esound or arts is no longer supported. To compile Pidgin with support for gstreamer you need libgstreamer0.10-dev and its dependencies. These packages are named differently on different platforms. If you do not wish to install these packages you can also just change your sound playing method in preferences to Command and use esdplay %s or artsplay %s.

How do I make Pidgin use ALSA or OSS for playing sounds? What does the "Automatic" option do?

The "Automatic" option lets gstreamer pick how the sounds are played. You can use the gstreamer-properties tool to control this if you use GNOME.

Why does Pidgin use the same WM_CLASS for every window?

Both strings in the WM_CLASS property are supposed to be the same for all windows in the same instance of an application. ICCCM states that one is meant to be the same for all instances of the application and the other is meant to be unique to that instance of the application. ICCCM also states, "If a client has multiple windows with identical WM_CLASS and WM_NAME properties, then it should provide a WM_WINDOW_ROLE property."

GTK+ sets these WM_CLASS values for us so that they are unique for Pidgin instances, and the documentation for the gtk_window_set_wmclass function says explicitly not to use it for anything else. Pidgin uses the WM_WINDOW_ROLE hint to differentiate windows. If your window manager is having problems differentiating between Pidgin windows, please ensure it uses the WM_WINDOW_ROLE hint per the ICCCM.

All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!